home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
IRIX Base Documentation 1998 November
/
IRIX 6.5.2 Base Documentation November 1998.img
/
usr
/
share
/
catman
/
p_man
/
cat3
/
f90
/
models.z
/
models
Wrap
Text File
|
1998-10-30
|
10KB
|
300 lines
MODELS(3I) Last changed: 1-15-98
NNAAMMEE
MMOODDEELLSS - Describes mathematical representation models for CF90 and
MIPSpro 7 Fortran 90 compiler intrinsic procedures
IIMMPPLLEEMMEENNTTAATTIIOONN
UNICOS, UNICOS/mk, and IRIX systems
SSTTAANNDDAARRDDSS
Fortran 90
DDEESSCCRRIIPPTTIIOONN
The CF90 and MIPSpro 7 Fortran 90 compilers implement the intrinsic
procedures according to the representation models described in the
Fortran 90 standard. The Fortran 90 standard describes a bit model,
an integer model, and a real number model. For more information on
these models, see the _F_o_r_t_r_a_n _L_a_n_g_u_a_g_e _R_e_f_e_r_e_n_c_e _M_a_n_u_a_l, _V_o_l_u_m_e _2,
publication SR-3903.
BBiitt mmooddeell
The bit model interprets a nonnegative scalar data object of type
integer as a sequence of binary digits (bits). In the model, _w
_k
has a value of 0 or 1. A bit is defined to be a binary digit _w
located at position _k of a nonnegative integer scalar object, which is
based on the following nonnegative integer model:
_k
_j = the summation of _w 2 as _k goes from 0 to _s-1
_k
(Refer to the printed MMOODDEELLSS(3I) man page in the _I_n_t_r_i_n_s_i_c
_P_r_o_c_e_d_u_r_e_s _R_e_f_e_r_e_n_c_e _M_a_n_u_a_l, publication SR-2138, for a graphical
representation of this summation.)
OObbjjeecctt DDeeffiinniittiioonn
_j The integer value.
_s The number of bits in the model. The bits are numbered from
right to left beginning with 0.
_w A bit is a binary digit, _w, located at position _k. Either 0
_k or 1.
For 64-bit integers, the values in the model are as follows:
OObbjjeecctt VVaalluuee
_s 64
_k 0 through 63
On UNICOS systems, a 46-bit integer is stored in a 64-bit storage
container.
For 32-bit integers, the values are as follows:
OObbjjeecctt VVaalluuee
_s 32
_k 0 through 31
You can use the BBIITT__SSIIZZEE intrinsic function to determine the value of
_s in the model.
The bit manipulation functions are based upon this bit model. The
model deals only with nonnegative integers interpreted through these
functions and the MMVVBBIITTSS subroutine. It is not necessarily related to
the implementation of the integer data type. It also is independent
of the binary, octal, and hexadecimal (BBOOZZ) constants described in the
_F_o_r_t_r_a_n _L_a_n_g_u_a_g_e _R_e_f_e_r_e_n_c_e _M_a_n_u_a_l, _V_o_l_u_m_e _1, publication SR-3902.
IInntteeggeerr mmooddeell
The integer number system model is as follows:
_k-1
_i = _s * the summation of _w _r as _k goes from 1 to q
_k
(Refer to the printed MMOODDEELLSS(3I) man page in the _F_o_r_t_r_a_n _L_a_n_g_u_a_g_e
_R_e_f_e_r_e_n_c_e _M_a_n_u_a_l, _V_o_l_u_m_e _2, publication SR-3903, for a graphical
representation of this summation.)
This equation assumes the following definitions:
OObbjjeecctt DDeeffiinniittiioonn
_i The integer value.
_s The sign. Either +1 or -1.
_r The radix. An integer greater than 1.
_q The number of digits. An integer greater than 0.
_w The _kth digit. An integer 0 <= _w < _r.
_k _k
For 64-bit integers, the values in the model are as follows:
OObbjjeecctt VVaalluuee
_r 2
_q 63
_k An integer 1 <= _k <= 63, and the sign bit
For 32-bit integers on UNICOS/mk and IRIX systems, the values in the
model are as follows:
OObbjjeecctt VVaalluuee
_r 2
_q 31
_k An integer 1 <= _k <= 31, and the sign bit
For 8-bit integers on IRIX systems, the values in the model are as
follows:
OObbjjeecctt VVaalluuee
_r 2
_q 7
_k An integer 1 <= _k <= 7, and the sign bit
For 16-bit integers on IRIX systems, the values in the model are as
follows:
OObbjjeecctt VVaalluuee
_r 2
_q 15
_k An integer 1 <= _k <= 15, and the sign bit
The values shown for the integer number system model can be retrieved
through the DDIIGGIITTSS, RRAANNGGEE, and RRAADDIIXX numeric inquiry intrinsic
functions. The DDIIGGIITTSS function returns the number of significant
digits (_q) for an integer in the model, and the RRAANNGGEE function returns
the decimal number of significant digits. The RRAADDIIXX function returns
the base of the model (_r).
The HHUUGGEE numeric inquiry intrinsic function returns the largest
positive number in the integer number system model.
RReeaall mmooddeell
The real number system model is as follows:
_x = 0
or
_e -_k
_x = _s * _b * the summation of _f _b as _k goes from 1 to _p}
_k
(Refer to the printed MMOODDEELLSS(3I) man page in the _F_o_r_t_r_a_n _L_a_n_g_u_a_g_e
_R_e_f_e_r_e_n_c_e _M_a_n_u_a_l, _V_o_l_u_m_e _2, publication SR-3903, for a graphical
representation of this summation.)
This equation assumes the following definitions:
OObbjjeecctt DDeeffiinniittiioonn
_x The real value.
_s The sign. Either +1 or -1.
_b The base (real radix). An integer greater than 1.
_e An integer between some minimum and maximum value.
_p The number of mantissa digits. An integer greater than 1.
_f The _kth digit. An integer 1 <= _f < _b.
_k _k
_f can be 0 only if all _f are 0.
1 _k
For 128-bit real numbers on UNICOS systems, the values in the model
are as follows:
OObbjjeecctt VVaalluuee
_b 2
_e 8189
_m_a_x
_e -8188
_m_i_n
_p 95
_k An integer 1 <= _k <= 95
For 128-bit real numbers on IRIX systems, the values in the model are
as follows:
OObbjjeecctt VVaalluuee
_b 2
_e 1023
_m_a_x
_e -967
_m_i_n
_p 107
_k An integer 1 <= _k <= 107
For 128-bit real numbers on CRAY T90 systems that support IEEE
floating-point arithmetic, the values in the model are as follows:
OObbjjeecctt VVaalluuee
_b 2
_e 16384
_m_a_x
_e -16381
_m_i_n
_p 113
_k An integer 1 <= _k <= 113
For 64-bit real numbers on UNICOS systems, the values in the model are
as follows:
OObbjjeecctt VVaalluuee
_b 2
_e 8189
_m_a_x
_e -8188
_m_i_n
_p 47
_k An integer 1 <= _k <= 47
For 64-bit real numbers on IRIX systems, on CRAY T90 systems that
support IEEE floating-point arithmetic, and on UNICOS/mk systems, the
values in the model are as follows:
OObbjjeecctt VVaalluuee
_b 2
_e 1024
_m_a_x
_e -1021
_m_i_n
_p 53
_k An integer 1 <= _k <= 53
For 32-bit real numbers on UNICOS/mk and IRIX systems, the values in
the model are as follows:
OObbjjeecctt VVaalluuee
_b 2
_e 128
_m_a_x
_e -125
_m_i_n
_p 24
_k An integer 1 <= _k <= 24
The values shown for the real number system model can be retrieved
through the RRAADDIIXX, MMAAXXEEXXPPOONNEENNTT, MMIINNEEXXPPOONNEENNTT, DDIIGGIITTSS, PPRREECCIISSIIOONN, and
RRAANNGGEE numeric inquiry intrinsic functions.
The HHUUGGEE and TTIINNYY numeric inquiry intrinsic functions return the
largest and the smallest positive number in the real number system
model. The EEPPSSIILLOONN function returns a positive real number that is
1-_p
_e_p_s_i_l_o_n = _b .
NNOOTTEESS
On UNICOS systems, both execution speed and the number of bits used in
mathematical operations are affected when compiling with
ff9900 --OO ffaassttiinntt, which is the default setting. For more information,
see _C_F_9_0 _C_o_m_m_a_n_d_s _a_n_d _D_i_r_e_c_t_i_v_e_s _R_e_f_e_r_e_n_c_e _M_a_n_u_a_l, publication
SR-3901.
SSEEEE AALLSSOO
_I_n_t_r_i_n_s_i_c _P_r_o_c_e_d_u_r_e_s _R_e_f_e_r_e_n_c_e _M_a_n_u_a_l, publication SR-2138, for the
printed version of this man page.